package com.exprecards.common.persistence;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.exprecards.common.persistence.dao.ConsultasDao;
import com.exprecards.common.persistence.dao.ExpTbAreaDao;
import com.exprecards.common.persistence.dao.ExpTbCentroCostoDao;
import com.exprecards.common.persistence.dao.ExpTbEmpresaDao;
import com.exprecards.common.persistence.dao.ExpTbLineaProductoDao;
import com.exprecards.common.persistence.dao.ExpTbOrdenTrabajoEncDao;
import com.exprecards.common.persistence.dao.ExpTbPedidoDao;
import com.exprecards.common.persistence.dao.ExpTbPedidoDetalleDao;
import com.exprecards.common.persistence.dao.ExpTbPedidoEstadoDao;
import com.exprecards.common.persistence.dao.ExpTbPgDao;
import com.exprecards.common.persistence.dao.ExpTbProductoDao;
import com.exprecards.common.persistence.dao.ExpTbSucursalDao;
import com.exprecards.common.persistence.dao.ExpTbTpDao;
import com.exprecards.common.persistence.dao.ExpTbUsuarioAreaDao;
import com.exprecards.common.persistence.dao.ExpTbUsuarioDao;
import com.exprecards.common.persistence.dto.ExpTbOrdenTrabajoEnc;
import com.exprecards.common.persistence.jdbc.ConsultasDaoImpl;
import com.exprecards.common.persistence.jdbc.ExpTbAreaDaoImpl;
import com.exprecards.common.persistence.jdbc.ExpTbCentroCostoDaoImpl;
import com.exprecards.common.persistence.jdbc.ExpTbEmpresaDaoImpl;
import com.exprecards.common.persistence.jdbc.ExpTbLineaProductoDaoImpl;
import com.exprecards.common.persistence.jdbc.ExpTbOrdenTrabajoEncDaoImpl;
import com.exprecards.common.persistence.jdbc.ExpTbPedidoDaoImpl;
import com.exprecards.common.persistence.jdbc.ExpTbPedidoDetalleDaoImpl;
import com.exprecards.common.persistence.jdbc.ExpTbPedidoEstadoDaoImpl;
import com.exprecards.common.persistence.jdbc.ExpTbPgDaoImpl;
import com.exprecards.common.persistence.jdbc.ExpTbProductoDaoImpl;
import com.exprecards.common.persistence.jdbc.ExpTbSucursalDaoImpl;
import com.exprecards.common.persistence.jdbc.ExpTbTpDaoImpl;
import com.exprecards.common.persistence.jdbc.ExpTbUsuarioAreaDaoImpl;
import com.exprecards.common.persistence.jdbc.ExpTbUsuarioDaoImpl;

/**
 * 
 * Clase factory que provee acceso estatico a los DAOs de la aplicacion.
 */
public class DAOFactory {

	private static Log log = LogFactory.getLog(DAOFactory.class);

	// Definicion de DAOS de la aplicacion.
	private static ConsultasDao consultasDao;
	public static ConsultasDao getConsultasDao() {
		return consultasDao;
	}





	public static void setConsultasDao(ConsultasDao consultasDao) {
		DAOFactory.consultasDao = consultasDao;
	}





	public static ExpTbCentroCostoDao getExpTbCentroCostoDao() {
		return expTbCentroCostoDao;
	}





	public static void setExpTbCentroCostoDao(
			ExpTbCentroCostoDao expTbCentroCostoDao) {
		DAOFactory.expTbCentroCostoDao = expTbCentroCostoDao;
	}





	public static ExpTbEmpresaDao getExpTbEmpresaDao() {
		return expTbEmpresaDao;
	}





	public static void setExpTbEmpresaDao(ExpTbEmpresaDao expTbEmpresaDao) {
		DAOFactory.expTbEmpresaDao = expTbEmpresaDao;
	}





	public static ExpTbLineaProductoDao getExpTbLineaProductoDao() {
		return expTbLineaProductoDao;
	}





	public static void setExpTbLineaProductoDao(
			ExpTbLineaProductoDao expTbLineaProductoDao) {
		DAOFactory.expTbLineaProductoDao = expTbLineaProductoDao;
	}





	public static ExpTbPedidoDao getExpTbPedidoDao() {
		return expTbPedidoDao;
	}





	public static void setExpTbPedidoDao(ExpTbPedidoDao expTbPedidoDao) {
		DAOFactory.expTbPedidoDao = expTbPedidoDao;
	}





	public static ExpTbPedidoDetalleDao getExpTbPedidoDetalleDao() {
		return expTbPedidoDetalleDao;
	}





	public static void setExpTbPedidoDetalleDao(
			ExpTbPedidoDetalleDao expTbPedidoDetalleDao) {
		DAOFactory.expTbPedidoDetalleDao = expTbPedidoDetalleDao;
	}





	public static ExpTbPedidoEstadoDao getExpTbPedidoEstadoDao() {
		return expTbPedidoEstadoDao;
	}





	public static void setExpTbPedidoEstadoDao(
			ExpTbPedidoEstadoDao expTbPedidoEstadoDao) {
		DAOFactory.expTbPedidoEstadoDao = expTbPedidoEstadoDao;
	}





	public static ExpTbPgDao getExpTbPgDao() {
		return expTbPgDao;
	}





	public static void setExpTbPgDao(ExpTbPgDao expTbPgDao) {
		DAOFactory.expTbPgDao = expTbPgDao;
	}





	public static ExpTbProductoDao getExpTbProductoDao() {
		return expTbProductoDao;
	}





	public static void setExpTbProductoDao(ExpTbProductoDao expTbProductoDao) {
		DAOFactory.expTbProductoDao = expTbProductoDao;
	}





	public static ExpTbSucursalDao getExpTbSucursalDao() {
		return expTbSucursalDao;
	}





	public static void setExpTbSucursalDao(ExpTbSucursalDao expTbSucursalDao) {
		DAOFactory.expTbSucursalDao = expTbSucursalDao;
	}





	public static ExpTbTpDao getExpTbTpDao() {
		return expTbTpDao;
	}





	public static void setExpTbTpDao(ExpTbTpDao expTbTpDao) {
		DAOFactory.expTbTpDao = expTbTpDao;
	}





	public static ExpTbUsuarioDao getExpTbUsuarioDao() {
		return expTbUsuarioDao;
	}





	public static void setExpTbUsuarioDao(ExpTbUsuarioDao expTbUsuarioDao) {
		DAOFactory.expTbUsuarioDao = expTbUsuarioDao;
	}





	private static  ExpTbCentroCostoDao expTbCentroCostoDao;
	private static ExpTbEmpresaDao expTbEmpresaDao;
	private static ExpTbLineaProductoDao expTbLineaProductoDao;
	private static ExpTbPedidoDao expTbPedidoDao;
	private static ExpTbPedidoDetalleDao expTbPedidoDetalleDao;
	private static ExpTbPedidoEstadoDao expTbPedidoEstadoDao;
	private static ExpTbPgDao expTbPgDao;
	private static ExpTbProductoDao expTbProductoDao;
	private static ExpTbSucursalDao expTbSucursalDao;
	private static ExpTbTpDao expTbTpDao;
	private static ExpTbUsuarioDao expTbUsuarioDao;
	
	private static ExpTbUsuarioAreaDao expTbUsuarioAreaDao;
	private static ExpTbAreaDao expTbAreaDao;
	private static ExpTbOrdenTrabajoEncDao expTbOrdenTrabajoEncDao;
	
	
	

	

    static {
    	consultasDao = new ConsultasDaoImpl();
    	
   
    	expTbCentroCostoDao = new ExpTbCentroCostoDaoImpl();
    	expTbEmpresaDao = new ExpTbEmpresaDaoImpl();
    	expTbLineaProductoDao = new ExpTbLineaProductoDaoImpl();
    	expTbPedidoDao = new ExpTbPedidoDaoImpl();
    	expTbPedidoDetalleDao = new ExpTbPedidoDetalleDaoImpl();
    	expTbPedidoEstadoDao = new ExpTbPedidoEstadoDaoImpl();
    	expTbPgDao = new ExpTbPgDaoImpl();
    	expTbProductoDao = new ExpTbProductoDaoImpl();
    	expTbSucursalDao = new ExpTbSucursalDaoImpl();
    	expTbTpDao = new ExpTbTpDaoImpl();
    	expTbUsuarioDao = new ExpTbUsuarioDaoImpl();
    	expTbUsuarioAreaDao = new ExpTbUsuarioAreaDaoImpl();
    	expTbAreaDao = new ExpTbAreaDaoImpl();
    	expTbOrdenTrabajoEncDao = new ExpTbOrdenTrabajoEncDaoImpl();
    	
    	
	}





	public static ExpTbUsuarioAreaDao getExpTbUsuarioAreaDao() {
		return expTbUsuarioAreaDao;
	}





	public static void setExpTbUsuarioAreaDao(
			ExpTbUsuarioAreaDao expTbUsuarioAreaDao) {
		DAOFactory.expTbUsuarioAreaDao = expTbUsuarioAreaDao;
	}





	public static ExpTbAreaDao getExpTbAreaDao() {
		return expTbAreaDao;
	}





	public static void setExpTbAreaDao(ExpTbAreaDao expTbAreaDao) {
		DAOFactory.expTbAreaDao = expTbAreaDao;
	}




	public static ExpTbOrdenTrabajoEncDao getExpTbOrdenTrabajoEncDao() {
		return expTbOrdenTrabajoEncDao;
	}





	public static void setExpTbOrdenTrabajoEncDao(
			ExpTbOrdenTrabajoEncDao expTbOrdenTrabajoEncDao) {
		DAOFactory.expTbOrdenTrabajoEncDao = expTbOrdenTrabajoEncDao;
	}


	
}
